package day0107;

import org.junit.Test;
import org.omg.CORBA.PUBLIC_MEMBER;

public class MaoPao {
	
//	数组的排序：冒泡排序
//	int[] array = {40, 17, 21, 1}; // 1, 17,21,40
//	第一轮：40冒到最右边
//	17,40,21,1
//	17,21,40,1
//	17,21,1,40   -------   40 冒出来
//	第二轮：21冒出来
//	17,21,1,40
//	17,1,21,40  -------   21冒出来
//	第三轮：17冒出来
//	1,17,21,40  ------- 17冒出来
//
//	4个数只要比较3轮就可以，剩下那个数不要要排序就是最小的
//	第一轮：比较3次
//	第二轮：比较2次
//	第三轮：比较1次
//	i+j =4=array.length
//	j=array.length-i
	
	@Test
	public void test1() {
		int[] array = new int [] {40,17,21,1};
		//这个i不是下标，代表的是比较几轮
		//外层循环控制比较的轮数  ，每一轮比较把剩下的元素里最大的冒出来
		for (int i = 1; i <= array.length - 1; i++) {  
			// 内层循环遍历数组，进行比较 ,此处j为数组下标
			for (int j = 0; j < array.length - i; j++) {  //j <array.length - i 代表每一轮比较多少次
				if (array[j] > array[j + 1]) {			 //如果左边大于右边  那么两个数进行交换
					int temp = array[j];
					array[j] = array[j + 1];
					array[j + 1] = temp;
				}
			}
		}
		for (int i = 0; i < array.length; i++) {
			System.out.print(array[i] + ",");
		}
	}
	
	@Test
	public void test2() {
		int[] array = new int[] {59,25,79,36,158};
		for (int i = 1; i < array.length - 1; i++) {
			for (int j = 0; j < array.length - i; j++) {
				if (array[j] > array[j + 1]) {
					int temp = array[j];
					array[j] = array[j + 1];
					array[j + 1] = temp;
				}
			}
		}
		for (int i = 0; i < array.length; i++) {
			System.out.println(array[i]);
		}
	}
}
